package de.hhkk.model.kursverwaltung;

import org.apache.log4j.Logger;

import de.hhkk.model.menu.AbstractModelObject;
import de.hhkk.model.stammdaten.Boot;

public class Kurs extends AbstractModelObject
{

    private int     id;
    private String  name;
    private String  sprache;
    private String  bezeichnung;
    private String  kurzbeschreibung;
    private String  pruefung;
    private Integer anzahlTeilnehmer;
    private Double  pruefungspreis;
    private Integer besatzung;
    private Integer dauertage;
    private Integer dauerstunden;
    private Double  kurspreis;
    private Boot boot = new Boot();

    //private Calendar datumVon;
    //private Calendar datumBis;

    public Kurs()
    {
    }

    public Kurs(int id, String name, String sprache, Integer anzahlTeilnehmer, String bezeichnung, String pruefung)
    {
        super();
        this.id = id;
        this.name = name;
        this.sprache = sprache;
        this.anzahlTeilnehmer = anzahlTeilnehmer;
        this.bezeichnung = bezeichnung;
        this.pruefung = pruefung;
        //this.datumVon = datumVon;
        //this.datumBis = datumBis;
    }

    public int getId()
    {
        return id;
    }

    public void setId(int id)
    {
        firePropertyChange("id", this.id, this.id = id);
    }

    public String getName()
    {
        return name;
    }

    public void setName(String name)
    {
        firePropertyChange("name", this.name, this.name = name);
    }

    public void setBezeichnung(String bezeichnung)
    {
        firePropertyChange("bezeichnung", this.bezeichnung, this.bezeichnung = bezeichnung);
    }

    public void setKurzbeschreibung(String kurzbeschreibung)
    {
        firePropertyChange("kurzbeschreibung", this.kurzbeschreibung, this.kurzbeschreibung = kurzbeschreibung);
    }

    public void setPruefung(String pruefung)
    {
        Logger.getLogger(getClass()).debug(pruefung);
        firePropertyChange("pruefung", this.pruefung, this.pruefung = pruefung);
    }

    public String getBezeichnung()
    {
        return bezeichnung;
    }

    public String getKurzbeschreibung()
    {
        Logger.getLogger(getClass()).debug(kurzbeschreibung);
        return kurzbeschreibung;
    }

    public String getPruefung()
    {
        
        return pruefung;
    }

    public String getSprache()
    {
        return sprache;
    }

    public void setSprache(String sprache)
    {
        firePropertyChange("sprache", this.sprache, this.sprache = sprache);
    }

    public Integer getAnzahlTeilnehmer()
    {
        return anzahlTeilnehmer;
    }

    public Double getPruefungspreis()
    {
        return pruefungspreis;
    }

    public Integer getBesatzung()
    {
        return besatzung;
    }

    public Integer getDauertage()
    {
        return dauertage;
    }

    public Integer getDauerstunden()
    {
        return dauerstunden;
    }

    public Double getKurspreis()
    {
        return kurspreis;
    }

    public void setAnzahlTeilnehmer(Integer anzahlTeilnehmer)
    {
        firePropertyChange("anzahlTeilnehmer", this.anzahlTeilnehmer, this.anzahlTeilnehmer = anzahlTeilnehmer);
    }

    public void setPruefungspreis(Double pruefungspreis)
    {
        firePropertyChange("pruefungspreis", this.pruefungspreis, this.pruefungspreis = pruefungspreis);
    }

    public void setBesatzung(Integer besatzung)
    {
        firePropertyChange("besatzung", this.besatzung, this.besatzung = besatzung);
    }

    public void setDauertage(Integer dauertage)
    {
        firePropertyChange("dauertage", this.dauertage, this.dauertage = dauertage);
    }

    public void setDauerstunden(Integer dauerstunden)
    {
        firePropertyChange("dauerstunden", this.dauerstunden, this.dauerstunden = dauerstunden);
    }

    public void setKurspreis(Double kurspreis)
    {
        firePropertyChange("kurspreis", this.kurspreis, this.kurspreis = kurspreis);
    }

    /*
    	public Calendar getDatumVon() {
    		return datumVon;
    	}

    	public void setDatumVon(Calendar datumVon) {
    		firePropertyChange("datumVon", this.datumVon, this.datumVon = datumVon);
    	}*/

    /*public Calendar getDatumBis() {
    	return datumBis;
    }

    public void setDatumBis(Calendar datumBis) {
    	firePropertyChange("datumBis", this.datumBis, this.datumBis = datumBis);
    }
    */

    @Override
    public String toString()
    {
        return name;
    }
    
    public Boot getBoot()
    {
        return boot;
    }

    public void setBoot(Boot boot)
    {
        firePropertyChange("boot", this.boot, this.boot = boot);
    }

}
